package com.xtwy.config;

import feign.Request;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

/**
 * @作 者: 侯建军
 * @日 期: 2018/8/4 00:08
 * @描 述:
 * @公 司：山西迅腾伟业
 */
@Configuration
public class FeignConfig {
    public static int connectTimeOutMillis = 12000;//超时时间
    public static int readTimeOutMillis = 12000;
    @Bean
    public Request.Options options() {
        return new Request.Options(connectTimeOutMillis, readTimeOutMillis);
    }
    /**
     * 自定义重试次数
     * 默认retry响应时间(1s connectTimeout,1s readTimeout)
     * 第一个参数period是请求重试的间隔算法参数，
     * 第二个参数maxPeriod 是请求间隔最大时间，
     * 第三个参数是重试的次数。
     * @return
     */
    @Bean
    public Retryer feignRetryer() {
        Retryer retryer = new Retryer.Default(100, 1000, 4);
        return retryer;
    }
}
